This invention relates generally to computer systems, and more particularly to pen-aware graphical user interfaces for computer systems.
Graphical user interfaces or GUIs are becoming increasingly popular with computer users. Many people find that computers having GUIs are easier to learn and use than comparable computers without GUIs.
A relatively new type of computer which is well suited for graphical user environments is the pen-based or pen-aware computer system, hereinafter generically referred to as a "pen computer system", "pen computer", "stylus-aware computer system", or the like. A pen-based computer system is typically a small computer (e.g. a hand-held computer) in which a "pen" or stylus is the primary device for inputting data. A pen-aware computer system accepts pen inputs in addition to other, more traditional, inputs (e.g. keyboard and mouse inputs). Often a pen-aware computer is simply a conventional computer that has been modified to accept pen inputs.
A pen computer system is often housed in a relatively flat enclosure, and has a dual-function display assembly which serves as both an input device and an output device. When operating as an input device, the display assembly senses the position of the tip of a stylus on the viewing screen and provides this positional information to the computer's central processing unit (CPU). When operating as an output device, the display assembly presents computer-generated images on the screen.
Typically, graphical images can be input into the pen computer systems by merely moving the stylus across the surface of the screen, i.e. making a "stroke" on the screen. One type of stroke is defined as the engagement of the screen with a stylus, the movement of the stylus across the screen (if any), and its subsequent disengagement from the screen. As the CPU senses the position and movement of the stylus, it can generate a corresponding image on the screen to create the illusion that the stylus is drawing the image directly upon the screen, i.e. that the stylus is "inking" an image on the screen. With suitable recognition software, the inked image can be recognized as text and/or numeric information which can then be used by conventional routines in the computer system. Such recognition methods are well known to those skilled in the art.
As pen-computer technology evolves, it would be useful to make that technology available for use in conventional computer systems (i.e., computers that are not pen-aware) while retaining the ability to use the currently available operating systems and applications with only minor modification. For some applications, the pen will simply direct a cursor across the screen much like the cursor keys or mice do in conventional computer systems. For more advanced (pen-aware) applications, the system will recognize pen strokes as objects and makes use of them as text or graphics objects, for example.
Truly flexible pen-aware computers should be able to use different types of available pen-tablet systems. However, as more dual-function displays become available, the computer system must be able to handle correspondingly more types of display data. Numerous dual-function displays such as the Gazelle and the Wacom Z are now available. These various products provide data in differing formats and at differing speeds. Thus, the pen-aware system should be able to handle a wide range of data formats. In addition, the system should be able to utilize the range of information provided by the various pen-input systems. Each pen-input system provides positional information describing the location of the pen on the display. In addition, some input systems provide the pressure of the pen on the screen, the distance between the pen and the screen, the tilt of the stylus on the screen, etc. Still further, some display assemblies employ more than one pen, each of which has a different function. Alternatively, some systems provide a pen that has various modes that can be selected by pushing a button, for example. Each of these pens or modes can provide unique functions much like a function key on a standard keyboard. There is a need for a system that can recognize and use data from the various types of display.
In addition, it would desirable for the computer system to react rapidly in response to the data it receives from the pen-input and to the instructions it receives from higher level applications. Unfortunately, some computer systems require certain time-consuming steps whenever a stroke is input or used. For example, some systems must copy a stroke or other object to or from an application before the stroke can be used. Further, some types of system require that the user supply instructions before the system can recognize different modes (e.g., different types of strokes). These and other time-consuming steps can prevent current systems from responding to stylus-tablet inputs in real time.